Single bit errors in a semiconductor memory may arise from random energetic particles, such as neutrons or alpha particles, passing through the memory. Error detection techniques, such as parity, may be used to detect such errors. Error correction techniques may be employed to correct errors.
In one error correction technique that can be employed when a parity error is detected indicating that stored data in a cache line is erroneous, the cache line is flushed and is overwritten by a copy of the data originally stored at the cache line. However, this technique may be inapplicable when data in the cache line has been modified, which can lead to a machine check error or other undesirable behavior.